{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>competition_time</th>\n",
       "      <th>净胜球</th>\n",
       "      <th>主客</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>2018-06-30 22:00:00</td>\n",
       "      <td>0.405893</td>\n",
       "      <td>法国,阿根廷</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2018-07-01 02:00:00</td>\n",
       "      <td>-0.408475</td>\n",
       "      <td>乌拉圭,葡萄牙</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2018-07-01 22:00:00</td>\n",
       "      <td>0.660441</td>\n",
       "      <td>西班牙,俄罗斯</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>2018-07-02 02:00:00</td>\n",
       "      <td>-0.044530</td>\n",
       "      <td>克罗地亚,丹麦</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>2018-07-02 22:00:00</td>\n",
       "      <td>0.487959</td>\n",
       "      <td>巴西,墨西哥</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "     competition_time       净胜球       主客\n",
       "0 2018-06-30 22:00:00  0.405893   法国,阿根廷\n",
       "1 2018-07-01 02:00:00 -0.408475  乌拉圭,葡萄牙\n",
       "2 2018-07-01 22:00:00  0.660441  西班牙,俄罗斯\n",
       "3 2018-07-02 02:00:00 -0.044530  克罗地亚,丹麦\n",
       "4 2018-07-02 22:00:00  0.487959   巴西,墨西哥"
      ]
     },
     "execution_count": 1,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import pandas as pd\n",
    "\n",
    "result_1 = pd.read_csv(r\"D:\\worldcup\\result_top8.csv\", encoding='gbk')\n",
    "result_2 = pd.read_csv(r\"D:\\worldcup\\result_top4.csv\", encoding='gbk')\n",
    "result_3 = pd.read_csv(r\"D:\\worldcup\\result.csv\", encoding='gbk')\n",
    "result_4 = pd.read_csv(r\"D:\\worldcup\\result_top2.csv\", encoding='gbk')\n",
    "result_5 = pd.read_csv(r\"D:\\worldcup\\result_top1.csv\", encoding='gbk')\n",
    "result_pro = pd.concat([result_1,result_2,result_3,result_4,result_5])\n",
    "\n",
    "result_pro['competition_time'] = pd.to_datetime(result_pro['competition_time'])\n",
    "result_pro = result_pro.reset_index(drop=True)\n",
    "\n",
    "result_pro['主客'] = result_pro['team1'].str.cat(result_pro['team2'], sep=',')\n",
    "\n",
    "result_pro = result_pro.drop(['team1','team2'], axis=1).reset_index(drop=True)\n",
    "result_pro.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>赛事</th>\n",
       "      <th>时间</th>\n",
       "      <th>主队</th>\n",
       "      <th>主</th>\n",
       "      <th>和</th>\n",
       "      <th>客</th>\n",
       "      <th>客队</th>\n",
       "      <th>比分</th>\n",
       "      <th>真实净胜球</th>\n",
       "      <th>主客</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>世界杯分</td>\n",
       "      <td>2018-06-29 02:00:00</td>\n",
       "      <td>英格兰</td>\n",
       "      <td>2.551</td>\n",
       "      <td>2.936</td>\n",
       "      <td>3.273</td>\n",
       "      <td>比利时</td>\n",
       "      <td>0:01</td>\n",
       "      <td>-1.0</td>\n",
       "      <td>英格兰,比利时</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>世界杯分</td>\n",
       "      <td>2018-06-29 02:00:00</td>\n",
       "      <td>巴拿马</td>\n",
       "      <td>4.170</td>\n",
       "      <td>3.577</td>\n",
       "      <td>1.923</td>\n",
       "      <td>突尼斯</td>\n",
       "      <td>1:02</td>\n",
       "      <td>-1.0</td>\n",
       "      <td>巴拿马,突尼斯</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>世界杯分</td>\n",
       "      <td>2018-06-28 22:00:00</td>\n",
       "      <td>塞内加尔</td>\n",
       "      <td>4.710</td>\n",
       "      <td>3.607</td>\n",
       "      <td>1.809</td>\n",
       "      <td>哥伦比亚</td>\n",
       "      <td>0:01</td>\n",
       "      <td>-1.0</td>\n",
       "      <td>塞内加尔,哥伦比亚</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>世界杯分</td>\n",
       "      <td>2018-06-28 22:00:00</td>\n",
       "      <td>日本</td>\n",
       "      <td>3.062</td>\n",
       "      <td>3.165</td>\n",
       "      <td>2.577</td>\n",
       "      <td>波兰</td>\n",
       "      <td>0:01</td>\n",
       "      <td>-1.0</td>\n",
       "      <td>日本,波兰</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>世界杯分</td>\n",
       "      <td>2018-06-28 02:00:00</td>\n",
       "      <td>瑞士</td>\n",
       "      <td>1.629</td>\n",
       "      <td>3.597</td>\n",
       "      <td>6.872</td>\n",
       "      <td>哥斯达黎加</td>\n",
       "      <td>2:02</td>\n",
       "      <td>0.0</td>\n",
       "      <td>瑞士,哥斯达黎加</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "     赛事                  时间    主队      主      和      客     客队    比分  真实净胜球  \\\n",
       "0  世界杯分 2018-06-29 02:00:00   英格兰  2.551  2.936  3.273    比利时  0:01   -1.0   \n",
       "1  世界杯分 2018-06-29 02:00:00   巴拿马  4.170  3.577  1.923    突尼斯  1:02   -1.0   \n",
       "2  世界杯分 2018-06-28 22:00:00  塞内加尔  4.710  3.607  1.809   哥伦比亚  0:01   -1.0   \n",
       "3  世界杯分 2018-06-28 22:00:00    日本  3.062  3.165  2.577     波兰  0:01   -1.0   \n",
       "4  世界杯分 2018-06-28 02:00:00    瑞士  1.629  3.597  6.872  哥斯达黎加  2:02    0.0   \n",
       "\n",
       "          主客  \n",
       "0    英格兰,比利时  \n",
       "1    巴拿马,突尼斯  \n",
       "2  塞内加尔,哥伦比亚  \n",
       "3      日本,波兰  \n",
       "4   瑞士,哥斯达黎加  "
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import re\n",
    "\n",
    "result_group = pd.read_csv(r\"D:\\worldcup\\world_cup.csv\", encoding='gbk')\n",
    "result_group['时间'] = pd.to_datetime(result_group['时间'])\n",
    "result_group['主'] = [float(re.search(r'^[1-9]\\d*\\.\\d*|0\\.\\d*[1-9]\\d*$', x).group()) for x in result_group['主']]\n",
    "result_group['和'] = [float(re.search(r'^[1-9]\\d*\\.\\d*|0\\.\\d*[1-9]\\d*$', x).group()) for x in result_group['和']]\n",
    "result_group['客'] = [float(re.search(r'^[1-9]\\d*\\.\\d*|0\\.\\d*[1-9]\\d*$', x).group()) for x in result_group['客']]\n",
    "result_group['真实净胜球'] = [float(x.split(':')[0])-float(x.split(':')[1]) for x in result_group['比分']]\n",
    "result_group['主客'] = result_group['主队'].str.cat(result_group['客队'], sep=',')\n",
    "result_group.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>competition_time</th>\n",
       "      <th>净胜球</th>\n",
       "      <th>主客</th>\n",
       "      <th>赛事</th>\n",
       "      <th>时间</th>\n",
       "      <th>主队</th>\n",
       "      <th>主</th>\n",
       "      <th>和</th>\n",
       "      <th>客</th>\n",
       "      <th>客队</th>\n",
       "      <th>比分</th>\n",
       "      <th>真实净胜球</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>2018-06-30 22:00:00</td>\n",
       "      <td>0.405893</td>\n",
       "      <td>法国,阿根廷</td>\n",
       "      <td>世界杯1</td>\n",
       "      <td>2018-06-30 22:00:00</td>\n",
       "      <td>法国</td>\n",
       "      <td>2.405</td>\n",
       "      <td>3.076</td>\n",
       "      <td>3.358</td>\n",
       "      <td>阿根廷</td>\n",
       "      <td>4:03</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2018-07-01 02:00:00</td>\n",
       "      <td>-0.408475</td>\n",
       "      <td>乌拉圭,葡萄牙</td>\n",
       "      <td>世界杯1</td>\n",
       "      <td>2018-07-01 02:00:00</td>\n",
       "      <td>乌拉圭</td>\n",
       "      <td>2.981</td>\n",
       "      <td>2.936</td>\n",
       "      <td>2.771</td>\n",
       "      <td>葡萄牙</td>\n",
       "      <td>2:01</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2018-07-01 22:00:00</td>\n",
       "      <td>0.660441</td>\n",
       "      <td>西班牙,俄罗斯</td>\n",
       "      <td>世界杯1</td>\n",
       "      <td>2018-07-01 22:00:00</td>\n",
       "      <td>西班牙</td>\n",
       "      <td>1.582</td>\n",
       "      <td>4.035</td>\n",
       "      <td>6.342</td>\n",
       "      <td>俄罗斯</td>\n",
       "      <td>1:01</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>2018-07-02 02:00:00</td>\n",
       "      <td>-0.044530</td>\n",
       "      <td>克罗地亚,丹麦</td>\n",
       "      <td>世界杯1</td>\n",
       "      <td>2018-07-02 02:00:00</td>\n",
       "      <td>克罗地亚</td>\n",
       "      <td>1.945</td>\n",
       "      <td>3.216</td>\n",
       "      <td>4.721</td>\n",
       "      <td>丹麦</td>\n",
       "      <td>1:01</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>2018-07-02 22:00:00</td>\n",
       "      <td>0.487959</td>\n",
       "      <td>巴西,墨西哥</td>\n",
       "      <td>世界杯1</td>\n",
       "      <td>2018-07-02 22:00:00</td>\n",
       "      <td>巴西</td>\n",
       "      <td>1.482</td>\n",
       "      <td>4.354</td>\n",
       "      <td>7.427</td>\n",
       "      <td>墨西哥</td>\n",
       "      <td>2:00</td>\n",
       "      <td>2.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "     competition_time       净胜球       主客    赛事                  时间    主队  \\\n",
       "0 2018-06-30 22:00:00  0.405893   法国,阿根廷  世界杯1 2018-06-30 22:00:00    法国   \n",
       "1 2018-07-01 02:00:00 -0.408475  乌拉圭,葡萄牙  世界杯1 2018-07-01 02:00:00   乌拉圭   \n",
       "2 2018-07-01 22:00:00  0.660441  西班牙,俄罗斯  世界杯1 2018-07-01 22:00:00   西班牙   \n",
       "3 2018-07-02 02:00:00 -0.044530  克罗地亚,丹麦  世界杯1 2018-07-02 02:00:00  克罗地亚   \n",
       "4 2018-07-02 22:00:00  0.487959   巴西,墨西哥  世界杯1 2018-07-02 22:00:00    巴西   \n",
       "\n",
       "       主      和      客   客队    比分  真实净胜球  \n",
       "0  2.405  3.076  3.358  阿根廷  4:03    1.0  \n",
       "1  2.981  2.936  2.771  葡萄牙  2:01    1.0  \n",
       "2  1.582  4.035  6.342  俄罗斯  1:01    0.0  \n",
       "3  1.945  3.216  4.721   丹麦  1:01    0.0  \n",
       "4  1.482  4.354  7.427  墨西哥  2:00    2.0  "
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "result_all = pd.merge(result_pro, result_group, on = '主客')\n",
    "result_all.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "相关系数： [[ 1.          0.50314338]\n",
      " [ 0.50314338  1.        ]]\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYQAAAEICAYAAABfz4NwAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4wLCBo\ndHRwOi8vbWF0cGxvdGxpYi5vcmcvpW3flQAAIABJREFUeJzt3Xt4XHd94P/3Z26a0c2Sb7ETy3IE\nCSGBXGw5C1swJhCWbdlAaYD0Kb3xo/FSaNNflz6lXcivpJTS0od9Ai3UoXTbZX8/Qsm2kJZlgQDG\nCwvEcm6QYjAoVuTEjmxLti5zP+fz++OcGUvySDMjzZkzI31ezzPPSKMz53zO0cx85ny+3/P9iqpi\njDHGRMIOwBhjTGuwhGCMMQawhGCMMcZnCcEYYwxgCcEYY4zPEoIxxhjAEoIxxhifJQRjjDGAJQRj\njDG+WNgB1GPz5s26a9eusMMwxpi2cvTo0bOquqXacm2VEHbt2sXIyEjYYRhjTFsRkbFalrOSkTHG\nGMASgjHGGJ8lBGOMMYAlBGOMMT5LCMYYY4CQexmJSAwY9W8Av6Wq3w8xJGPMGnPo2AQHD48yPpVm\noL+TA/uG2H/NVoupgrDPEK4HPqOq+/2bJQNjTMMcOjbB3Q8+ycRMlr5UnImZLHc/+CSHjk1YTBWE\nnRBeArxORB4WkU/5ZwzGGNMQBw+PEo8KnYkYIt59PCocPDxa/cnrKKaSsBPCEeDVqnozEAd+dvEC\nInKniIyIyMiZM2eaHqAxpn2NT6VJxaMLHkvFo5ycSocUUWvGVBJ2QnhCVU/5P48AVy1eQFXvU9Vh\nVR3esqXqldfGGFM20N9JpuAseCxTcNjR3xlSRK0ZU0nYCeHTInKDiESBNwCPhxyPMWYNObBviIKj\npPNFVL37gqMc2DdkMVUQdkK4B/g08BjwHVV9KOR4jDFryP5rtnLPbdextSfJhUyBrT1J7rntulB7\n9LRiTCWiqmHHULPh4WG1we2MMaY+InJUVYerLRf2GYIxxpgWYQnBGGMMYAnBGGOMzxKCMcYYwBKC\nMcYYnyUEY4wxgCUEY4wxPksIxhhjAEsIxhhjfJYQjDHGAJYQjDHG+CwhGGOMASwhGGOM8VlCMMYY\nA1hCMMYY47OEYIwxBrCEYIwxxtcSCUFELhORR8OOwxhj1rOWSAjAXwCpsIMwxpj1LPSEICK3AHPA\n6bBjMcaY9SzUhCAiCeB9wHuWWeZOERkRkZEzZ840LzhjjFlnwj5DeA/wcVU9v9QCqnqfqg6r6vCW\nLVuaGJoxxqwvYSeEVwPvFJFDwI0i8jchx2OMMetWLMyNq+q+0s8ickhV3x5mPMYYs56FfYZQpqr7\nw47BGGPWs5ZJCMYYY8JlCcEYYwxgCcEYY4zPEoIxxhjAEoIxxhifJQRjjDGAJQRjjDE+SwjGGGMA\nSwjGGGN8lhCMMcYAlhCMMcb4LCEYY4wBLCEYY4zxWUIwxhgDWEIwxhjjs4RgjDEGaIGEICIbReRW\nEdkcdizGGLOehTqFpoj0A/8CfBH4iIjcoqpnwozJGLO0Q8cm+NCXfshT59IADG3u4vdfew37r9ka\ncmSmEcI+Q7ge+F1V/RPgy8DukOMxxizh0LEJ3v3A4/zkzByqiqpyfGKW33vgcQ4dmwg7PNMAoSYE\nVf2mqn5XRPYBNwPfCTMeY8zSDh4eZTZXJCpCNBLxb8JMtsjBw6Nhh2caIOwzBEREgLcAU0Chwt/v\nFJERERk5c8aqScaEZXwqjeMqIhcfE4Gi63JyKh1eYKZhQk8I6nkn8ARwW4W/36eqw6o6vGXLluYH\naIwBYKC/k2hEUL34mCrEIhF29HeGF5hpmFATgoj8voj8iv9rH3A+zHiMMUs7sG+I7o4YjiqO6/o3\npScZ48C+obDDMw0Q9hnCfcAvi8hhIAp8JeR4jDFL2H/NVv7i9ht4/pYuRAQR4aqt3Xz49husl9Ea\nEWq3U1WdAm4NMwZjTO32X7PVPvzbSLbg4LhafUFfqAnBGGNMY7muMpMrMpMtkC+69KbiNT/XEoIx\nxqwBuaLDdKbIXK6Iq7WfFcxnCcEYY9qUqjKbKzKdLZIrOKtenyUEY4xpMwXHZTpTYDZXrKuNoBpL\nCMYY0ybmckWmswUy+dWfDVRiCcEYY1pYwXGZyRaZzRYpum6g27KEYIwxLUZVSecdZrJF0vli07Zr\nCcEYY1pE6WxgJltoaNtArSwhGGNMiEo9hWZzxcDaBmplCcEYY0KQK3olobkG9xRaDUsIxhjTJK6r\nzOaLzDTouoFGs4RgjDEByxYung2s9CriZrCEYIwxAXBcZTZbZCbnjSnUDiwhGGNMg5S6i87miqTz\nDtrCZwOVWEIwxphVyhUdZrPFhg8l0WyWEIwxZgWKjstczmE6W6DgtEdJqJpQE4KIbADux5stbQ54\ni6rmw4yp5NCxCQ4eHmV8Ks1AfycH9g3ZxCDrVFCvhXrX2+g4qq2vWe+BdnqvqSpzee9sYDVXED88\nOsn9R8Y5NZ1he2+KO/YOcPPQxgZGujISZo1LRH4TOK6qXxWRTwBfUtUHl1p+eHhYR0ZGAo/r0LEJ\n7n7wSeJRIRWPkik4FBzlntuua9kXqglGUK+Fetfb6Diqra9Z74F2ea+Vegml86svCT08Osm9Xz9O\nLCIk4xGyBZeiq9x1y1WBJIXeVJwtPcmjqjpcbdlQ51RW1Y+r6lf9X7cAE2HGU3Lw8CjxqNCZiCHi\n3cejwsHDo2GHZposqNdCvettdBzV1tes90Arv9ccV7mQLjA+mebZ85mGDSdx/5FxYhEvAQrefSwi\n3H9kvAFRr06oCaFERF4K9Kvqdyv87U4RGRGRkTNnzjQlnvGpNKl4dMFjqXiUk1PppmzftI6gXgv1\nrrfRcVRbX7PeA634XssWHCZmsjw9mebcXK7h7QOnpjMk4ws/epPxCKenMw3dzkqEnhBEZCPwMeBt\nlf6uqvep6rCqDm/ZsqUpMQ30d5JZdBVhpuCwo7+zKds3rSOo10K96210HNXW16z3QKu810rjCT17\nPsOz5zPMZouBdRnd3psiW1iYZLIFl229qUC2V4+qCUFEdvn3V4pIfN7jbxSR5Go2LiIJ4HPAH6jq\n2GrW1UgH9g1RcJR0vuj3Ky5ScJQD+4bCDs00WVCvhXrX2+g4qq2vWe+BsN9rRcdlai7P+GSGieks\n2SYMJ3HH3gGKrpIpOCjefdFV7tg70NDtpPNF/s9Pz/Ln/+tYzc9ZtlFZRPYB9wCvAt4NvAy4HfhV\n4N8Bv6Sq2ZUGLCLvAD4IPO4/9AlV/exSyzerURku9nw4OZVmR4v3fDDBCuq1UO96Gx1HtfU16z3Q\n7PdaK1w8VupldHo6w7YG9TJyXOX4xAwjJ6YYGZviyWeny20eY3/2upoalaslhDuBO1T1Fv/3twO/\nBXxKVT+6quhXoJkJwRiztmQLXhJopdFFV2tiOsvI2BQjJ6Z45OkpprMLu8JGBK7f0ccX3vWymhJC\ntesQ3gS8WEQeBOLATUAOeLWI3AokgF9U1ckV7Y0xxgRorV08lsk7PDZ+npGxKY6OTfH05KWN71f0\npdgz2M/eXf3cONDH9r4UX3hXbetfNiGo6q0i8g1VvU1EuoDbgBcAlwF3Aa8HOgFLCMaYltCoi8da\ngeMqP5mYZWRskpETXhmouOjspqsjyp6d/Qzv6mfPYD/bN6y8cbqWK5UzIhIF3gMcU9U/EpGfA74C\nvFLbbfQmY8ya1C5DTFdTSxnoust72TPYz/DgRl6wrYdoRBqy7WUTgj+0xCdV1RGRPwLe4v/paeB+\nSwbGmDAVHLc8qFy7loQyeYfHT54vNwYvVQYaHvTOAG7c2Ud3RzCjDlVbawx4m4hciddF9U4R2YbX\ndrAX+OtAojLGmCWUZh2bzRab0k200VxVjj9XvQx004BXBhoe7OfyvuZco1BLmjkJjHBxALoRQIA9\nIjKgquFfb22MWfMyeYeZXIG5XPvNMzAxneXo2FS5MbhSGeja7X4ZaFc/12zrbVgZqB7VEkIO+Kyq\nHvbbEf5YVQ8DiMhU4NEZY9a1guMyk/XOBopu+5SEMgWHx0u9gU5MMVahDHR5X5LhwY0MB1wGqke1\nXkazwCH/Zwf4x3l/e0JEdgN2hmCMaZh2LAm56vcGOjHFyNgkP3imchlo906vHWDPYD9XNKkMVI+q\nKUlEhoGXqOpfikgM+Kiq/qb/5w8BrwkyQGPM+pD2k8Bcm0w9WUsZ6IXbexkOuQxUj2q9jHYCm4Fe\n/2cBhkRkAK+RuX3O4YwxLSdfdJnNtUdJqJYy0PYNSb8heCM3tUgZqB7Vov1DYBveXAVX+Y9dA7wf\nLzlsCy40Y8xa5LjeyKKzuSK5Fi4JLSwDTfGDZy5cWgZKRLlxZx97d21s2TJQPaolhO/gDVfxPVX9\nUxGJAP+kqm8DEJEvBh2gMWZtaIeS0JmZnH9R2CSPPH2eC5nCgr9HBK7Z1ste/6rgF25v/TJQPaol\nhH/GuwjtVSLyXeDngQ/P+/uzQQVmjGl/uaI3hMRczmnJklCm4PDEvIvCxs5VKQMN9NGdbK8yUD1q\nOUM4DuzE6010HzAgIuN41yWcCzY8Y0y7KTguc35JKF9srSQwvwx09GmvDFRwKpeBvMbgjW1fBqpH\ntYQwpqqvE5GvqurPAYjIP6nqz/s/25XKxpiWbhc4M5Nb0BtoqTJQqTfQWisD1aNaQtjqD329wb8H\n7wzhf+KdOXwm0OiMMS3L8Wf9mgtxoplK6ikD7RnsZ/dA/5ouA9Wj2oVpN1Z6XEQEb/a0VwHfDCAu\nY0wLys5LAK0ymFzdZaDBjVzRv37KQPWoKy2KyLtU9S/9UU7/t39bNRG5DHhAVV/eiPWZ2pSmLhyf\nSjPQhtOEtnv89Srt7/GJGfJFl3hUuPqy3pr3e6njVe04ltoEZrJLjyhamhLy1HSG7SucErKedZyZ\nyfG5kZM89MPnuJApsPjcZH4ZyOsN1EMsWnUK+YZb7XFpxHGtx7JTaJYXErkKeDve8Nf/H/CUqn6y\nIQGI9OOVnraq6u7llrUpNBvn0LEJ7n7wSeJRIRWPkik4FBzlntuua4sP1XaPv16l/S04Dmdn8t5V\nQMCmrgSJWLTqfi91vG7ffQUPPPLMJY/f/boXsnfXJmbz1dsEHh6d5N6vHycWEZLxCNmCS9FV7rrl\nqpo/vKqtI1tweOLkhfIIoScqlIEAkrEIyUSU337lVey/ZktN2w7Kao9LI44rQG8qzpaeZE1TaFZN\nmSLyJmAAeA44A3wZb2rNRnHwEs10A9dpqjh4eJR4VOhMxBDx7uNR4eDh0bBDq0m7x1+v0v5OZ4pE\nIkIsEiGCMJMt1rTfSx2vv/nWU+XHVSERjQDKX379p5yby9XUQHz/kXFiES+hCN59LCLcf6T2Yc4W\nryMZi+C6yr1fP867P/c4r/+rb/Oef/w+Dxx9ppwMBO9MICKQiAoxARHo6Yjx4OPh94hf7XFpxHGt\nVy0lo48Dp4F3AxfwuqJGRCQOFFc7SY6qTgN4zRKXEpE7gTsBdu7cuZpNmXnGp9L0peILHkvFo5yc\nqvzNq9W0e/z1Ku1v3nHLPWBEIO+4Ne33UsdrNlfk8r4U+aJbbhTuiEU4PZ2pObZT0xl6FzXKJuP1\nr6MzHuFCpkA675DOOzh+PKcuZAHvg/8F23rYO7iRf37iWTZ1xTlxLk0kIghCJOKVt+rddlBWe1wa\ncVzrVW0so63AY8DHgD/DO1P4X8ANeFNoDonIHlU9G1SAqnof3vUPDA8Pt0Y3hjVgoL+TiZksnYmL\nL4FMwWFHf2eIUdWu3eOvV2l/E9EIRVcRofyNvpb9nn+8VBVXYS5XIBWPMpcrkopHy8tmCy7bemtv\ndN3em+LcXK7udcwvA11IF3iuwjULiWiE11x3GcOD/dy0s4+epJfUnjh5gXNzOeKLjkc8Gqk7/qCs\n9Lg06vkrUa1k9M94g9s5wO8BR1X1FuARVX0l8P8COwKLzgTmwL4hCo6SzhdR9e4LjnJg31DYodWk\n3eOvV2l/e1MxXFcpui4uSk8yVtN+/8bLriRXcLmQyZMrOsxkC+Qd5c17dlD0u48q3n3RVe7YO1Bz\nbHfsHahpHaXeQPc//PQlZaCsnwwEr0dQXyrOlu4E7/8P1/K7t17Nvqu3lJPB/G12d0RRV3FcF0Xp\nSkTrjj8otR6XoJ4PXuUlVsc1Fcs2KvtjF/1n4NeB24F7gVcCD6nq/pq3UksgIoeqrdMalRur1Lvk\n5FSaHW3YS6fd46/X4l5Giahw1TK9jFxXSc/rJvq9n57j/iPjnJ7OsG1ej5VST5bFj9djqXWcnfUu\nCivdptKXXhR29WU97N3VT1c8xndGz/HcTLamOErbHJucKx+PwU3dgffEqcdqj22tz49GhHg0Qjwa\nIRGNkIhFiEel3LNKRGpqVK7ay8hPCncDfw+8Afge3plCrua9ahBLCMYsz3WVuXyxXIdv9sVi2YLD\n95+5UL4o7Kmzc5csc1lvB8ODG9m7a2EZyFQXjYj/YX/xw3/+B/9Sak0I1doQEsBnge+o6lMi8jXg\nPwE7ReReVf18HftijAmA4yeBuVyRbMFtahJwVXnqzBxHxqY4emKSJypcFJaKR7lpZx97BvvZu8sb\nInqpTiTGE4tEiMfE+8CPlT74I4EPqVGtl1EB+ISqfgW8aTOBXxWRK/G6ihpjQlB0XOZyDnP55k8z\neW524dhAlcpAL9jW400YP9jPtdt7Q7korFWV6vrRiBCLel2IvZKP91g8EiES0lhK1YauULzeRGUi\n8jOq+m3gQyLSEUbpyJj1qHQm0Oy5hnMFhyf8MtDRsSlGK5SBtvZ0lCeJ2b2zj96UlYEW1/Vj0dLv\n0rJnSLXMqXwcuDCv/vRB4BUi8vPAXrxZ1YwxAXDL5SDH623ShHKQqjJ6dq7cDvDEyfMVy0A3DvSV\nB4gb6F+fZaCICPFYhHjpwz8WIRbxSj1hfctfjVouTDuhqrfO+31ORKLAHwA/F0xYxqxfqspcvrmj\niJ6bzXH06fOMnJisWAYSvDJQKQFcu72X+DoqA5W+6cejUq7pxyLVG3PbTS0JQUXkOqAf+LH/2FuB\nL6jqmcAiM2adSee9+QTSOQc34CRQaxmoNEnMeigDVfq2H4963/bXy9nPkgnBH5ridqAHeCHwcmA7\nXpnoEPBfmhCfMWuWqpItuOUeQo4bXBKopwxU6g20Y42WgVbadXM9WO4MYTNwK954RQ+IyPWqepeI\nfAnoA34b+FAzgjRmrShdLJb2y0FBnglMzuXLPYGOjk0xOZdf8HcBrt7W488R0M+1l6+dMlDpwz4W\n9XrtxKJS/rkda/vNsmRCUNVTwNtE5KsicjOQFJHX4V3M9oci8i0R+VtVnWhatMa0oXzRJVNwSOeD\nvU4gV7oozO8SOnpmiTJQacL4nX1sWANloHg0QkfMuzo3GY+2bYNuK6ipDQGv7eDvgPcCpRGoPgXc\nAXw0kMiMaVPzS0GZAGcWU1WeOjvnJYATUzzxzIVLJrVPxiNeb6DBjQzvau/eQJUadu3Dv7FqSQiD\neDOj/Xvgj4GD/uNfBt4XUFzGtBW3NL+wnwSCag+YnMsvuCisYhnosh7/LKA9y0AiUh6LpyMaJRHz\nzgDsgz94VROCqr5g/u8i8uci8jZV/VsRuSu40IxpXa6r5IouuaI3ZlCuGEwpKF90/bGBJhkZm+Kn\nS5SBSg3BN+3sb6sy0PxyTzx68d6Eo9pYRi8FNqnqv5QeU9V/EZGvicg/4vU0+vWAYzQmdEXHJVt0\nyeQdsoXmlIGOjk3x+Mmly0B7BvvZO7iRgY2tXwYqfetPRCN0xP372Prpztkuqp0hRICoiDwO5PDO\nSBWvjPTrwDeCDc+Y5lP1v/0XvDOAXNENLAGAVwZ65Omp8jUB55YoA+0Z7GPvro0tXwaKRbxv+uWb\n/83ftL5qCaF0DjyJd+3By4ARYBi4GnhnYJEZ0yQFxyVbcMj6CaDgaKBXB+eLLj8o9QY6McVPzsxe\nssyW7o5yO8Dunf1s6GzNMlDc/8ZfqvUnYsGPyGmCUy0h/AdgHC8xlG7gjXv3jiADMyYI5W//fv0/\nm3cpusF9+y9t88S5dLkd4ImTF8gtLgPFItzoDxG9Z7CfwY2dLVVOEfFG4/QaeKNe3d96+Kw5y12p\nHAG6gNtKDy36e5eqXtrCZUwLKTjeh3+24JV+8gE1/i42lfZ7Ay1TBrrqsm6G/QRw3eUbWqasUmro\nLQ3fULqSt5USlAnGchemuSLyWbwrlu9i3tkB3uv5r0Xk/1bVs6sJQEQ+BVwLfFFVP7CadbWi0rSH\n41NpBpo0zWOztxnGPi4lX3TJFr2G36W+/ZemJTw1nWF7b4qbBjbw6PiF8u/LTXO4+LmlZb99/Cx/\n939OcGo6iypkKgxP3ZmI8oqrt7RUGUhESMYjdMZjXulnXkPvUv/XsP7fQW23lvW20ms8SNXmVP4Z\nvITwPrzJckqGgF8A9q/mQ1xE3gjcpqq/JiJ/C/ypqh5favl2m0Lz0LEJ7n7wSeJRIRWPkil49el7\nbrsusBdTs7cZxj6WzG/8LSWBav3/Hx6d5N6vHycW8T4Iz6fznJsrsLEzTn9XgmzBpegqd91y1SVJ\nYf5zO2LCbM5hLu/Qm4zxzPlsxe0JIOLduwq/9tJBfvnf7mrMAViBUp2/VPZZqqfPUv/X23dfwQOP\nPNP0/3dQr7Na1hvma7xRap1Cs9o5ahRIqOqwqr60dAOeVNVv4SWL1dgP/IP/81fwGq3XjIOHR4lH\nhc5EDBHvPh4VDh4eXTPbbNb2vKt/HaazBc7M5Dg5leaps3M8ez7DublczYPD3X9knFjEe2ML3od6\nRGAu7yB4j8ciwv1Hxi957qe/O0au6HAhU+CpcxlOT+eYyRYXJIOOWISN8775l/rVx6IRohH4h6Mn\nG3NAahCLROjqiLGxK8H2DSl2bepiR38nW3uSbEjFScajS5aBlvq//s23nmr6a3q5eFa73VrWG8b7\nOCzVGpW/zaK2A98nAVT1d1a5/S7gGf/nSWD34gVE5E7gToCdO3eucnPNNT6Vpm/RRUKpeJSTU+k1\ns82gtue46jX6Fi7W/xtR+z81naE3efFlX3BcRFjQrTQZj3B6OlNTb6BYRCi6yrbeDjoTMWJ+I+vk\novkEwDtTqFRKWq0Fo3f6c/F2xKKr6u2z1P91Lu+wMx695PEgX9PLxbPa7day3jDex2GpNoVmxVev\nqn6mQdufBVL+z91UOGNR1fuA+8ArGTVou00x0N/JxEyWzsTFw5wpOOzo71wz22zU9kof/rmiQ64Q\nXL//7b0pzs3lSPkfavFohILjEo9GUFXyjsuFjHe28fq/+vYlvYEESCWidCWidCZiOK7LVLrgnQVU\n+QBWpbzdlYqIkIxHScYv9vEPYtjmpf6vXQmvZNLM1/Ry8ax2u7WsN4z3cVjC7tZwlItlohuAE+GF\n0ngH9g1RcJR0voiqd19wlAP7htbMNle6vWzB4UK6wOkLWcbOzfHMVIZzszlms8VALwK7Y+8ARX/c\nIUXpTERwXHBVGT2XZmwyw/lMgZlcsZwMrtrazR17B/iNl13JZb0dbOpK0NcZx1XFUXjznh0L1pkp\nOHR3eB/8juviquvfe8vWIxaJ0N0RY1N3B1f0p9i1uYttG5L0dSa8M5KALlBb6v/69pdd2fTX9HLx\nrHa7taw3jPdxWJZtVA584yK9eAPnfQ1v8LyXqOqFpZZvt0ZluNg74eRUmh1N7mXUrG0utz3X9b51\n5x2v8TfvNK/rZyX5ossDR0/y4OPPMjmXp1ih3aE3GeOlz9vEXn+msL7ORPlvpV5Gp6czbJvXy6jS\n4z86Pc0/HD1JpuCQikd5854dVRuU49FI+QwgGY+GekXyUv/XMF7Ty8XTjPWGtc+NUmujcqgJAUBE\n+vEm4jmsqqeXW7YdE8J6kis65IsuBUfJ+33+g77oqxpVZWwyfXGmsPHzZBeVgTpiEW6YN1NYMy8K\nK13pm4pHvQbtFh6SwrSvWhNCLcNfB0pVp7jY08i0idKHf+mq3zC/9S92Pp3n6Nh5Rsa8CePPzuYv\nWeb5W7v9+YL7eVETLwqbfwZgCcC0mtATgmltjnvx236p9FMouoFPAl+PfNHlB89eKF8ZfHzi0t5A\nm7oT5akidw/20z+vDBSk0ixeyXiUZCyYBmBjGsUSggG8D/6C4/o37+dcIfySTyU1l4F2bGDPro0M\nD/aza1PwZaBSD6AOPwnYpC6m3VhCWGdKjbylMk8pCQQ1w1ejXEgXOOoPET0yNrl8GWiwnxdd0Zwy\nUDwaodPvgpqM2/j+pr1ZQljDFozsWQh+XP9Gyhddnnx23kVhE7MsTlnNLgOVJnlJzisD2VDPZi2x\nhLBGLJjUxQn24q4gqCpPT6bLCeDxFigDiUi5/JOMR0jGolYCMmuaJYQ2NL/sU+rts3iaxXZQKgOV\nGoPPzOYuWeZ5W7rY6yeAZpSBOvzunyk/CVgJyKwnlhBaWGkohfl9+0s1/3ZUcFyefHa6PFHM8ecq\nlIG6EuWZwm7a2c/GrmDLQImYfw1AImpnAGbds4TQIorOxat4S/37i26wUzkGTVUZn8wwMuYlgMfG\nz5MtLExmiViE66/YwN5d/Qzv2tiUMpDXCOw1BFsbgDEXWUIIwfwyTykJtHovn1pdSBe8CeOXKQM9\nf0s3ewb7GN61kRc3oQxkZwHG1MYSQsDml3kyBa+xt5Uu6lqt+WWgo2Pn+fFzM5eUgTZ2JcrDQuxu\nQhlIxJvXoLMjSpedBRhTM0sIDTB/ALeCX+rJr4GSTyX1lIFKSeDKzV2BN86KiDckdUeMzridBRiz\nEpYQ6rC4kbfgXLy4ay27kCnwaPmisCkmZir3BvISQHPKQOBdFJby2wNSy8z+ZYypjSWECkrf+AuL\nPvzX+gd/ScFx+ddnp8vtAEuVgYYH+9nj34IuA5V0xC9OTtOsAemMWS/WdUIoD9zmXKzzF4rakuP3\nBElVGZ/KlIeFWK4MNLzLSwBDTSgDwcX2gNIsZTY4nDHBWRcJoXQV7/xune0wfk+QpjMFHnnaGyJ6\n5ETlMtDQlq7yWcD1V2ygY5XTP9YjlYjSk4zTlbBSkDHNElhCEJGHlln/SVV9a6O3uXjEzlLf/oJT\nvXG3NOPVqekM2+fNhNXK6om4zJLjAAAT0klEQVS54Lj866npcjvAj09fWgaKRYRYVNjaneSXX7KT\nV1172ZLbHJucI190iUeFXZu6K2671vjmzza2o7+T//iKIWKRCAcPjzI+lWagzhmqSrNblZ770qGN\nfGd0kh8/N11+LZTGJbpqa8+y6z50bIIPfemHPHXOm1B9aHMXv//aa1Y1W9bi+IKYfSvobTRjH8Kw\nVverVoHNmCYir1bVh5b42xtU9fMichnwgKq+vJZ1Dg8P65EjR8of8oWiS8G9+OG/0m/8D49Ocu/X\njxOLCMl4hGzB6yF01y1XtWxSqBbz4jLQ4+MXyBScBeuIR4Xrr9jAZb1JHj4xSTLmNdIutf+lbRYd\nh6m5gjfjPNCXihOPRRcsX+sxHTkxyb1f+wkdMaEzESNTcLiQKSBAbypOKu5N6l5wlHtuu67qm/PQ\nsQnufvBJ4lGv1HR2NseZ2Ty9ySizOQfHVVyFaAQiCJt7EsSj0YrrPnRsgnc/8Djn0wVKnZZchf7O\nOB++/YYVfVAsjq+efWuVbTRjH8KwVvcLap8xLbSCrD915t8DXbU+J190eeqsNyH7xHSWqXSe2WyR\nXMFZVfnn/iPjxCLei0Dw7mMR4f4j4yteZ9AqxSzAX3/zp/zFV37EL37ye/zafz3CX37jJ3x3dLKc\nDIY2d/Hm4R38+S+8mAff+TN8+E038Oz5rNdvPxFbdv9L25zNOUhEiEYiCMJc3rlk+eWOaUSE7mSM\n7RtS/NOjz5KMR+jqiPtXEceYzRWZyRa9ePzH4lHh4OHRqsfl4OFR4lEpP3cmWyQicCFTJMLF0pMq\nRCLCdKa45LoPHh5lNlckKt6+ejdvnbXEUkt89exbq2yjGfsQhrW6X/UIsw3BAd4CfGG5hUTkTuBO\ngMt3DAQSyKnpDL3JhYciGY9wejoTyPYa4dR0hp6OKOm8QzpfJJ13yqODnphMl5fr74yzZ9AbFmLP\nzj42dXdUXFct+19aruC45X7+Il45avHyl6xToDMR5cxslsF5w1OMT6XpS8UXbMepcP1GKh7l5FSa\nahavL++4RAQK6sVaWq36v+cdd8l1j0+lcVwlOq8NQ8QbZqSWWGqJr559a5VtNGMfwrBW96seoSUE\nVZ0GqjYYqup9wH0AL75xdyD1re29Kc7N5UjNazTNFly29aaC2NyKlcpAR8emyOQdJqZzl7QDCLB7\nZx97dm1k767aegPVuv+l5eLRCEVXyx+w8WjkkuVLy3Z1xIiIEBHIFBx2blwYz0B/JxMzWToTF1+K\n0YiALow5U3DY0d9Z9RgtXl8iGiknBZ2XFEr3iWhkyXUP9HdydjaHut7y4D0nFonUFEst8dWzb62y\njWbsQxjW6n7Vw/rwAXfsHaDoKpmCg+LdF13ljr3BnJHUYzpT4NCPziwoA33s6z9hOlssJ4NEVOju\niLGxM849t13Hh990A3fsHeB5W7pr6qFT6/6XluvuiKKu4rguitKViC5YPhmPcue+KwHv7KGUDAqO\ncmDf0IJ1Htg3RMFR0vkiqt59d0eMnmRswWOVnlvJ4vX1JGO4ChtSMdx56VPEu96kNxVbct0H9g3R\n3RHDUW9fvZu3zlpiqSW+evatVbbRjH0Iw1rdr3qE2qjs/3xIVffXss4X37hbv/DVww2M8qL5PV22\nhdjLqFjqDeRfFPajCr2BSmWg/lSCfz01zbm53KpjrnX/F/cySkSFwU3d/NK/2cmt111Gd0esfK1A\nqcfGyak0O5bpsVFpOaCm51ayeH2lXkbHn5sm30K9jFayb62yjWbsQxjW6n7V2qhsCSFkqsrJqQwj\nY95EMY+Nnyedr9wbqDQ0xJVbuoi0QN/8aETo6ojR3REj2cRrFIwx9ak1IQTZhnBARN67xN8eAz4P\nUGsyWEtmsv5FYX6X0OemK1wUtrnLbwzu58VXbGiZD9xoxOt94SUBm1HMmLUksISgqm8Kat3tpui4\n/PDUTHmE0B+dnmFxL9lybyB/wvjNFXoDhSUaEVKJKN0dMRtEzpg1bF0MXdFsqsoz5zPluYIfXaIM\n9OIrNpSHhnje1u6WKAPNZ8NHGLO+WEJokJlsgUefPl9uDD49nb1kmSs3e2MDtVoZaL5YJEJ30uvl\nE7eB5IxZVywhrFCpDHR0zGsHOFahDNSXipcnjG+1MtB8pcllupOxBX2wjTHri737a1RrGehFV2xg\nr39l8FCL9AaqpDTZfJfNMGaM8VlCWMZstsgj41McPTHFkSXKQLs2dfpnARu5fkdrloHmi0cj9Cbj\ndCdtrmFjzEKWEOYpOi7HTs+Uh4g+dnq6Yhlotz9X8J4WLgPNZ9cLGGNqse4TwjPn580U9vR55pYo\nA+3Z6SWBVuwNVEmpJNTdEaPTegkZY2qw7hLC/DLQyNgUpy5ULgOVLgq7fkffgkHfWp2VhIwxK7Xm\nE4LjKj+cNzZQpTLQhlS8PFn88GA/W3pavww0X6mXUE8yTirRPsnLGNNa1mRCqKUMdN3lG8rXBDy/\nTcpAiyViEXo67GzAGNMYayIhzGaLPDp+ccL4SmWgwU2d5auCbxhorzLQfNZAbIwJSlsmhPlloKNj\nU/zw1NorA81nDcTGmGZoq4RwPp3n7i88yaPjU8zlFpaBYhGvN1C7l4HmS8a9q4e7ElYSMsYEr60S\nwsRMjm/95Gz598GNnezxh4a4YUdf2zeoiog/4bwlAWNM87VVQoiK8MoXbCm3BWztTYYdUkOk/CEk\nLAkYY8IUWEIQkYeWWf9JVX1rvet83tZu3ve6a+t6TmnKx1PTGbY3eGrM1aw7Ho3Qk4wtmHKymtL0\nfuNTaQbW0PR+rcqOt1lvQptCE/gGcD8QBeaAt6hqfrl11juF5sOjk9z79ePEIl4pJltwKbrKXbdc\nteqksJJ1R8TrIdSTrL+H0KFjE9z94JPEo0IqHi1PWn/PbdfZh1QA7HibtaTWKTTDHPD+l4CPqOpr\ngNPAaxu9gfuPjBOLeG9owbuPRYT7j4w3dd0d8ShbejrYubGTLT0dK+ouevDwKPGoN32l1+soRjwq\nHDw8uup9MZey423Wo9DaEFT14/N+3QJMVFpORO4E7gS4fMdAXds4NZ2hN7lwF5PxCKenM3WtZyXr\nFhG6OqL0JuMNuV5gfCpNXyq+4LFUPMrJqfSq120uZcfbrEehT4klIi8F+lX1u5X+rqr3qeqwqg5v\n3LS5rnVv702RLbgLHssWXLb1plYcb7V1b9+Qor8zwc6NnWztSTbs4rGB/k4yhYVdbTMFhx39nQ1Z\nv1nIjrdZj0JNCCKyEfgY8LYg1n/H3gGKrpIpOCjefdFV7thb35lGLevOFR0U+O1bnk9/V6LhvYUO\n7Bui4CjpfBFV777gKAf2DTV0O8Zjx9usR6ElBBFJAJ8D/kBVx4LYxs1DG7nrlqvY1NXBTLbIpq6O\nhjQol9b97luvZltvkkze4fK+Tj7w+hfxyhde1oDIL7X/mq3cc9t1bO1JciFTYGtP0ho4A2TH26xH\nYfYy2g58EHjcf/gTqvrZ5dZZby+jIMSjEbo7YnR1xEjEQq+4GWNMVbX2MgqyUfmAiLx3ib89pqq/\nA3wiwO03TCwSoavDu3jMBpQzxqxVgSUEVX1TUOtuhtKAcj3JGJ2Jtrqg2xhjVsQ+6RYpXUHck4zb\nMBLGmHXFEgKNv2bAGGPa0bpOCIlYhJ5knO4OG1TOGGPWXUJYzXhCxhizlq2bhNAR9xqIuxMxInY2\nYIwxl1jTCUFE6LazAWOMqcmaTAjxaITeVJyeDjsbMMaYWq2ZhCAidCWi9CTjbT+VpjHGhKHtE0Is\nUrpuoPaZx4wxxlyqbRNCKuFdN9DV0ba7YIwxLaWtPk0F2JCK05uKE7ezAWOMaai2SgiJWIRN3R1h\nh2GMMWuSfc02xhgDWEIwxhjjs4RgjDEGCLANQUQeWmb9J1X1rf6cynuAR1X1bFCxGM+hYxMcPDzK\n+FSagf5ODuwbarkpIdshxpUKa9/W8jE1jRXmFJrfBL7o3+4AblHVM8utc3h4WEdGRhoe63pw6NgE\ndz/4JPGokIpHyRQcCo621DzB7RDjSoW1b2v5mJra1TqFZpglo+uB31XVPwG+DOwOMZY17+DhUeJR\noTMR82eDixGPCgcPj4YdWlk7xLhSYe3bWj6mpvFCSwiq+k1V/a6I7ANuBr5TaTkRuVNERkRk5MyZ\nZU8gzDLGp9KkFg3wl4pHOTmVDimiS7VDjCsV1r6t5WNqGi/URmUREeAtwBRQqLSMqt6nqsOqOrxl\ny5amxreWDPR3kik4Cx7LFBx29HeGFNGl2iHGlQpr39byMTWNF2pCUM87gSeA28KMZa07sG+IgqOk\n80VUvfuCoxzYNxR2aGXtEONKhbVva/mYmsYLLSGIyO+LyK/4v/YB58OKZT3Yf81W7rntOrb2JLmQ\nKbC1J9lyDYvtEONKhbVva/mYmsYLu5fRPwAdwA+Ad2qVYKyXkTHG1K/WXkZBjmV0QETeu8TfHlPV\nzwO3Brh9Y4wxdQgsIajqm4JatzHGmMazoSuMMcYAlhCMMcb4LCEYY4wBAuxlFAQROQOMBbiJzUC7\nDbLXjjFDe8ZtMTdHO8YMrR33oKpWvbK3rRJC0ERkpJauWa2kHWOG9ozbYm6OdowZ2jfu+axkZIwx\nBrCEYIwxxmcJYaH7wg5gBdoxZmjPuC3m5mjHmKF94y6zNgRjjDGAnSEYY4zxWUIwxhgDBDu4XWhE\n5CGW3reTqvrWZsZTi3aMGdo37sVE5FPAtcAXVfUDtS5Ty/OCUm3bIrIBuB+IAnN4k1G5wKh/A/gt\nVf1+cyIux1Ut7hgVYhSR9wM/Czzsz6PSNDXE/A684wvecP7fA95JyMe6bqq65m7Aq5f52xv8+0/h\nTdv53mWWfQdwyL89BhzE+/B7et7jL26xmCvGB7wfOAL8VYse6w3Al4CvAP8EJII61hW2/Ubg7/yf\n/xa4qpZlanleULcaY/5N4Fb/50/gTUK1G/izZsW5wrgviRHYA3wNEOD/We51F0bMi5b/GDAc9rFe\nyW1dloxE5I1AVFVfCgyJyFWVllPVT6jqflXdD/xv4JPA9cBnSo9rkzJ+rTFXik9E9gAvw5u7ekJE\nXt2MmKGuuH8J+IiqvgY4DbyW5h3r/Xhzc4CXkF5W4zK1PC8oVbetqh9X1a/6v24BJoCXAK8TkYdF\n5FP+t/Fm2k/1Y1YpxlcA/0O9T9wvAy9vRrC+/dT4fxaRK4DLVHWE8I913dZlQqDON3KL/JP3U1vM\nbflmCvnDqwt4xv95ErisxmVqeV5Qat62iLwU6FfV7+KdJb5aVW8G4nglmGaqJe5KMbbFscYrE33C\n/znsY1239ZoQ6n1xtcI/udaY2/nNFNaH1yyQ8n/upvL7otIytTwvKDVtW0Q24pUw3uY/9ISqnvJ/\nHsErfTVTLXFXirEdjnUEeCVeeRPCP9Z1W68JoeYXVwv9k2uNuS3fTBDqh9dRLp653ACcqHGZWp4X\nlKrbFpEE8DngD1S1NCjkp0XkBhGJAm8AHm9CrPPVcswqxdjSx9r3cuB7/pk4hH+s67ZeE0I9L65W\n+SfXGnNbvplC/vD6PPDLIvIR4M3AkyKyuCfJ4mW+uMRjzVJLzP8XXsPmfxaRQyLyFuAe4NN4nSS+\no0vMex6gWuKuFOO3gJtE5F7gPcBnWixmgH8HHJ73e9jHun5ht2oHcaNKzxegF+/D5SPAD/F6uFwL\nfKDC8h8E3jjv9xcBTwDfB/6k1WKuFB9e4v82cC/wI+DKFoz7HcAUF3sUvSWoY71ErP14b/Zt9SxT\ny/PCjLkVbyuNG+9M83ZgqF1ibrfbmhy6QkQ+h9cwWcljqvo7ItIP3AocVtXTzYuusqBjFpEU8HPA\nI6o6Wm35OtbbdsfaGFPZmkwIxhhj6rde2xCMMcYsYgnBGGMMYAnBmAVEJCIiHf7PUf+iuG0Vlntc\nRB4SkeMisllEfk1EDorIrnnL9Ph/2ywiffMef0hEDojIK5qxT8bUyhKCMQvdCnzW7+r6h0AH8N9F\n5KzfbbNkXFVfDfwYrzvtTcB24FoR2esvMwx8APh74FUi8iUROeQv+4vAH4vIUDN2yphatPzYGsY0\nk6p+WURuAu4GfhX4LbwvTh8EzonI1ar6Y+Ayf6TXbcAteENt3IzX738aOKKq3xARBYZV9X+IyINA\nEfhnVX2diMT9341pCXaGYMwiqvohvG/1vwDk8C4wejfemcDb/cWe888QngZeg5cwfgT8d1X9KJSH\ncY54P0oMb5TOLi5+EftPgJ0hmJZhZwjGLCIiNwCvwksIGWAn8Ht4F9VtEZGT8xZ38S7Ak3nPj6tq\nAXg98D68ITtO4SWM2/CuuP0NvKvg/0vgO2RMjew6BGMWEZH/hjdh+sOqmvfr/q/FG331tar6HhF5\nDG8YjiHgXXhnEDcCx4BRVf2P/rr245WM/sL//f3ArwMXgJtVNdPEXTNmWXaGYMw8InIlMIg3BtNX\nRaSAVyr6n3hnA5/zBzw8rapvEJF/UdXDwGER+Tvgj1T1xKLVxkXkerwzjW14w3E8BPwK3qRLxrQE\nSwjGLHQHcK//zf0VAP4Zws+qatb/fR9w3F8+utSK/NLTu/xlzuP1LHoN8ADwUeABETmnqg8EsyvG\n1MdKRsbM43/7R1Vd//c/Bd4K7FJVx3/sHuAbeMmjG8jidTndgTfbWwRvRM4z/rrG/OdF8dolfkNV\nbxWRTv/v6WbtnzHLsYRgzDJEZDdwUlUnKvwtUkocdaxvJ5BW1bONitGYRrGEYIwxBrDrEIwxxvgs\nIRhjjAEsIRhjjPFZQjDGGANYQjDGGOP7/wHOi4Zs3ThA+AAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0xb71ddd8>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "import seaborn as sns\n",
    "import numpy as np\n",
    "%matplotlib inline\n",
    "\n",
    "plt.rcParams['font.sans-serif']=['SimHei']\n",
    "sns.regplot(x=\"净胜球\", y=\"真实净胜球\", data=result_all)\n",
    "np.corrcoef(result_all.loc[:, [\"净胜球\", \"真实净胜球\"]],rowvar=0)\n",
    "print('相关系数：', np.corrcoef(result_all.loc[:, [\"净胜球\", \"真实净胜球\"]],rowvar=0))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 43,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>competition_time</th>\n",
       "      <th>净胜球</th>\n",
       "      <th>主客</th>\n",
       "      <th>赛事</th>\n",
       "      <th>时间</th>\n",
       "      <th>主队</th>\n",
       "      <th>主</th>\n",
       "      <th>和</th>\n",
       "      <th>客</th>\n",
       "      <th>客队</th>\n",
       "      <th>比分</th>\n",
       "      <th>真实净胜球</th>\n",
       "      <th>money</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>2018-06-14 23:00:00</td>\n",
       "      <td>0.824845</td>\n",
       "      <td>俄罗斯,沙特阿拉伯</td>\n",
       "      <td>世界杯分</td>\n",
       "      <td>2018-06-14 23:00:00</td>\n",
       "      <td>俄罗斯</td>\n",
       "      <td>1.421</td>\n",
       "      <td>4.331</td>\n",
       "      <td>9.181</td>\n",
       "      <td>沙特阿拉伯</td>\n",
       "      <td>5:00</td>\n",
       "      <td>5.0</td>\n",
       "      <td>1.421</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2018-06-15 20:00:00</td>\n",
       "      <td>-0.275923</td>\n",
       "      <td>埃及,乌拉圭</td>\n",
       "      <td>世界杯分</td>\n",
       "      <td>2018-06-15 20:00:00</td>\n",
       "      <td>埃及</td>\n",
       "      <td>6.833</td>\n",
       "      <td>3.776</td>\n",
       "      <td>1.578</td>\n",
       "      <td>乌拉圭</td>\n",
       "      <td>0:01</td>\n",
       "      <td>-1.0</td>\n",
       "      <td>1.578</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2018-06-15 23:00:00</td>\n",
       "      <td>-0.107328</td>\n",
       "      <td>摩洛哥,伊朗</td>\n",
       "      <td>世界杯分</td>\n",
       "      <td>2018-06-15 23:00:00</td>\n",
       "      <td>摩洛哥</td>\n",
       "      <td>2.248</td>\n",
       "      <td>2.978</td>\n",
       "      <td>3.726</td>\n",
       "      <td>伊朗</td>\n",
       "      <td>0:01</td>\n",
       "      <td>-1.0</td>\n",
       "      <td>3.726</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>2018-06-16 02:00:00</td>\n",
       "      <td>-0.464226</td>\n",
       "      <td>葡萄牙,西班牙</td>\n",
       "      <td>世界杯分</td>\n",
       "      <td>2018-06-16 02:00:00</td>\n",
       "      <td>葡萄牙</td>\n",
       "      <td>4.076</td>\n",
       "      <td>3.261</td>\n",
       "      <td>2.006</td>\n",
       "      <td>西班牙</td>\n",
       "      <td>3:03</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>2018-06-16 18:00:00</td>\n",
       "      <td>0.880400</td>\n",
       "      <td>法国,澳大利亚</td>\n",
       "      <td>世界杯分</td>\n",
       "      <td>2018-06-16 18:00:00</td>\n",
       "      <td>法国</td>\n",
       "      <td>1.239</td>\n",
       "      <td>6.296</td>\n",
       "      <td>12.130</td>\n",
       "      <td>澳大利亚</td>\n",
       "      <td>2:01</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.239</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "     competition_time       净胜球         主客    赛事                  时间   主队  \\\n",
       "0 2018-06-14 23:00:00  0.824845  俄罗斯,沙特阿拉伯  世界杯分 2018-06-14 23:00:00  俄罗斯   \n",
       "1 2018-06-15 20:00:00 -0.275923     埃及,乌拉圭  世界杯分 2018-06-15 20:00:00   埃及   \n",
       "2 2018-06-15 23:00:00 -0.107328     摩洛哥,伊朗  世界杯分 2018-06-15 23:00:00  摩洛哥   \n",
       "3 2018-06-16 02:00:00 -0.464226    葡萄牙,西班牙  世界杯分 2018-06-16 02:00:00  葡萄牙   \n",
       "4 2018-06-16 18:00:00  0.880400    法国,澳大利亚  世界杯分 2018-06-16 18:00:00   法国   \n",
       "\n",
       "       主      和       客     客队    比分  真实净胜球  money  \n",
       "0  1.421  4.331   9.181  沙特阿拉伯  5:00    5.0  1.421  \n",
       "1  6.833  3.776   1.578    乌拉圭  0:01   -1.0  1.578  \n",
       "2  2.248  2.978   3.726     伊朗  0:01   -1.0  3.726  \n",
       "3  4.076  3.261   2.006    西班牙  3:03    0.0  0.000  \n",
       "4  1.239  6.296  12.130   澳大利亚  2:01    1.0  1.239  "
      ]
     },
     "execution_count": 43,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "result_all['money'] = 0\n",
    "for i in range(len(result_all)):\n",
    "    if result_all.loc[i, '净胜球'] > 0.1:\n",
    "        if result_all.loc[i, '真实净胜球'] > 0.0:\n",
    "            result_all.loc[i, 'money'] = result_all.loc[i, '主']\n",
    "    elif result_all.loc[i, '净胜球'] < -0.1:\n",
    "        if result_all.loc[i, '真实净胜球'] < 0.0:\n",
    "            result_all.loc[i, 'money'] = result_all.loc[i, '客']\n",
    "    else:\n",
    "        if result_all.loc[i, '真实净胜球'] == 0:\n",
    "            result_all.loc[i, 'money'] = result_all.loc[i, '和']\n",
    "result_all = result_all.fillna(0)\n",
    "result_all.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "准确率： 0.625\n"
     ]
    }
   ],
   "source": [
    "a = [1 for x in result_all['money'] if x>0]\n",
    "print('准确率：',sum(a)/len(result_all))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 按照单场投资的方法"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "你能赚多少： 1.34171875\n",
      "利率： 0.34171875000000007\n"
     ]
    }
   ],
   "source": [
    "result_all = result_all.sort_values('competition_time').reset_index(drop=True)\n",
    "rate = np.mean(result_all['money'])\n",
    "print('你能赚多少：',rate)\n",
    "print('利率：',(rate-1))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 按照同时投2场的方法"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "2串1： 1.71545195238\n",
      "利率： 0.715451952381\n"
     ]
    }
   ],
   "source": [
    "list_ = []\n",
    "for i in range(len(result_all)-1):\n",
    "    tmp = result_all.loc[i, 'money'] * result_all.loc[i+1, 'money']\n",
    "    list_.append(tmp)\n",
    "print(\"2串1：\",np.mean(list_))\n",
    "print('利率：',(np.mean(list_)-1))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 混淆矩阵"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Text(35,0.5,'pro')"
      ]
     },
     "execution_count": 40,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\nRU5ErkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0xc90d198>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "def fun(x):\n",
    "    if x > 0.1:\n",
    "        return 1\n",
    "    elif x < -0.1:\n",
    "        return -1\n",
    "    else:\n",
    "        return 0\n",
    "    \n",
    "p = [fun(x) for x in result_all['净胜球']]\n",
    "y = [fun(x) for x in result_all['真实净胜球']]\n",
    "\n",
    "from sklearn.metrics import confusion_matrix\n",
    "mat =  confusion_matrix(y, p)\n",
    "sns.heatmap(mat.T, annot=True, fmt='d')\n",
    "plt.xlabel('real')\n",
    "plt.ylabel('pro')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
